Conventionally, communication between applications in a computing system can be managed by messaging service, such as Java Messaging Service (JMS). Generally speaking, messaging service can route and/or deliver messages sent from one application (a.k.a. a producer application or a publisher) to another application (a.k.a. a consumer application or a subscriber). A message generally refers to an object containing data transferred between applications. An application generally refers to one or more sets of instructions, when executed by a processing device, causes the processing device to perform one or more tasks and/or functions.
JMS defines two options for a message exchange between applications, namely, message queues and topics. A message queue in general is a staging area that contains messages that have been sent and are waiting to be read. A topic in general is a distribution mechanism for publishing messages that are delivered to multiple subscribers.
For instance, when an application wants to use JMS, a corresponding message queue or topic has to be already deployed on an application server in the computing system. Preparing a JMS deployment is not a trivial matter, and it has to be performed by an application server administrator or be prepared in an application archive in advance.